function init()
{
	var ePassSN;
	var ePassDigest;
	var ePassPID;
	var ePassNum;
	try{
		//找锁
		ePassPID = "F6816C39";
		ePassNum = 0;
		ePassNum = ET99.FindToken(ePassPID);
		if(ePassNum==0)
		{
			alert('未找到加密锁,请插入加密锁！');
			return false;
		}
		
		//打开锁
		ET99.OpenToken(ePassPID,1);
		
		//验证SOPIN		
		ET99.VerifyPIN(1,"AAE1CD82F72EA19B");
		
		//得到硬件ID
		ePassSN = ET99.GetSN();
		
		//硬件中进行计算。注意第二个参数是随机数
		//这里作为示例，固定写死了。第三个参数是随机数的长度。
		//这里的计算结果ePassDigest是客户端的结果，传给服务器，与服务器端的结果进行验证
		var random=Math.round(Math.random()*100000);		
		var fkey = ET99.Soft_MD5HMAC(0,ePassSN,random);
		
		ET99.SetKey(1,1,fkey);
		ePassDigest=ET99.MD5HMAC(1,random,5);
		document.getElementById('SN').value=ePassSN;
		document.getElementById('random').value=random;
		document.getElementById('softMD5Code').value=fkey;
		document.getElementById('MD5Code').value=ePassDigest
			
		ET99.CloseToken(); 	  
		document.getElementById('loginForm').submit();	
	}
	catch(error)
	{
//		alert(error.number & 0xFFFF);
		
		if((error.number & 0xFFFF)==1)
			alert("加密锁访问权限不够,访问受限,请联系开发人员！");
		if((error.number & 0xFFFF)==2)
			alert("加密锁尚未打开,请联系开发人员！");
		if((error.number & 0xFFFF)==3)
			alert("加密锁参数错误,请联系开发人员！");
		if((error.number & 0xFFFF)==4)
			alert("密钥设置出错,请联系开发人员！");
		if((error.number & 0xFFFF)==5)
			alert("未找到加密锁,请插入加密锁！");
		if((error.number & 0xFFFF)==6)
			alert("加密锁硬件错误,请联系开发人员！");
		if((error.number & 0xFFFF)>6)
			alert("未知错误,请联系开发人员！");
			
		ET99.CloseToken(); 
		return false;
	}	
}

if (window.top!=self){ 
	window.top.location=self.location 
}

function validateForm() {     
  	var theForm=document.getElementById('loginForm');                                     
  	if (theForm.j_username.value=="")
  	{
		alert("请输入用户登录名称！");
		document.getElementById('j_username').focus();
		return false;
  	} 
	init();         
}

function isHasKey()
{
	var ePassPID;
	var ePassNum;
	try{
		//找锁
		ePassPID = "F6816C39";
		ePassNum = 0;
		ePassNum = ET99.FindToken(ePassPID);
		if(ePassNum==0)
		{
			alert("未找到加密锁,请插入加密锁！");
			return false;
		}
		return true;
	}
	catch(error)
	{
//		alert(error.number & 0xFFFF);

		if((error.number & 0xFFFF)==5)
			alert("未找到加密锁,请插入加密锁！");
		return false;
	}
}